package main

import (
	"fmt"
	"go-caipu/pkg/cmd/server"
	"os"

	"github.com/spf13/cobra"
)

// @title go-caipu API
// @version 1.0.0
// @description  开源go后台管理系统，基于gin框架，使用gorm数据库操作，支持mysql，postgres，sqlite数据库，支持jwt认证，支持casbin权限管理，支持swagger文档，支持日志记录，支持配置中心，支持缓存中心，支持消息队列，支持文件存储，支持docker部署，支持k8s部署。
// @termsOfService http://swagger.io/terms/
// @license.name Apache 2.0
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
// @host localhost:8080
// @BasePath /api

func main() {
	if err := rootCmd.Execute(); err != nil {
		fmt.Fprintln(os.Stderr, err)
		os.Exit(-1)
	}
}

var rootCmd = &cobra.Command{
	Use:               "caipu",
	Short:             "go-caipu一个简单的go后台管理系统框架",
	SilenceUsage:      true,
	DisableAutoGenTag: true,
	Long:              "caipu",
	RunE: func(cmd *cobra.Command, args []string) error {
		server.RunServer()
		return nil
	},
	//Args: func(cmd *cobra.Command, args []string) error {
	//	if len(args) < 1 {
	//		return errors.New("requires at least one  args")
	//	}
	//	return nil
	//
	//},
}

func init() {
	rootCmd.AddCommand(server.SerCmd)
	rootCmd.AddCommand(server.SerretCmd)
}
